package com.hqyj.zss.utils;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;
import org.springframework.stereotype.Component;

/*
*   使用shiro相关的加密相关的工具类做个加密（散列算法）  明文->暗文
* */
@Component
public class MD5Util {
    /*
     *   password 原文
     *   salt 盐
     *   多次使用散列算法进行加密，增加密码强度。破解难度
     *   加盐: 增加密码难度，破解难度
     */

    /**
     * MD5散列算法，加密用户的明文密码
     * @param password
     * @param salt
     * @return
     */
    public static String md5Hash(String password, String salt){
        //对salt做类型转换
        ByteSource saltBytes = ByteSource.Util.bytes(salt);
        //
        SimpleHash simpleHash = new SimpleHash("MD5", password, saltBytes, 1024);

        //返回加密结果
        return simpleHash.toString();

    }
}
